Класичні методи шифрування. Шифр з автоключем

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Методи та засоби криптологічних перетворень
Група:
ІБ – 44

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЗІ  Лабороторна робота №1 з курсу «Методи і засоби криптологічних перетворень» на тему: «Класичні методи шифрування. Шифр з автоключем» Мета роботи: ознайомитися з класичними методами шифрування (шифр простої заміни, поліграмні, поліалфавітні шифри, шифрування блоками, шифри перестановки). Завдання: Написати програму на мові програмування С/С++ для реалізації методу шифрування/дешифрування відкритого тексту за допомогою шифру з автоключем (довжина ключа – 3). Короткі теоретичні відомості Шифр з автоключем відноситься до класу полі алфавітних шифрів і ґрунтується на ідеях Віженера і Кардано. Подібно до шифру Віженера, криптотекст отримують сумуванням відкритого тексту із послідовністю букв такої ж довжини. Проте цю послідовність записують дещо інакше, ніж у шифрі Віженера – спочатку записують ключ, а справа до нього дописують початковий відрізок самого відкритого тексту. Розглянемо це на прикладі: БОРОНІТЬКОРОЛІВНУВІДВОРОГІВ + КЛЮЧБОРОНІТЬКОРОЛІВНУВІДВОР ЛАОЇОЩЗЛЮЩЗЛЩЩТВДЙЙТХРЮУДЩТ Відкритий текст і криптотекст у шифрі з автоключем записуються у одному і тому ж алфавіті. Для знаходження криптотексту зручно користуватися таблицею Віженера:  Шифр з автоключем також піддається криптоаналізу за методом Казізкі. За цим методом визначається довжина ключа, потім ключове слово знаходиться перебором. В основі крипто аналізу є те, що деякі слова в кожній мові єчасто вживані. Тому можна сподіватися, що відстань між ними у досить довгому тексті хоча б раз виявиться кратною періоду, а це приведе до появи однакових l-грам в крипто тексті, відстань між якими кратна довжині ключа. На відміну від шифру простої заміни, при використанні шифру з автоключем, однаковим буквам у відкритому тексті можуть відповідати різні букви у криптотексті. Ця обставина безперечно ускладнює частотний аналіз. Текст програми #include<stdio.h> #include<string.h> #define M 100 #define K 3 void main(void) { char alfavit[100] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','a' }; char dwerelo[M], kluch[K], shyfr[M], rozshyfr[M]; int cyftext[M], cyfkluch[K], avtocluch[M], cyfshyfr[M], cyfrozshyfr[M]; int i, j, t, k, a; a = strlen(alfavit) - 1; printf("\n\n\t vidkrytuy text \t"); scanf("%s", dwerelo); t = strlen(dwerelo) - 1; for (i=0; i<=t; i++) { for (j=0; j<=a; j++) { if (dwerelo[i] == alfavit[j]) cyftext[i] = j; } } printf("\n\t kluch \t\t"); scanf("%s", kluch); k = strlen(kluch) - 1; for (i=0; i<=k; i++) { for (j=0; j<=a; j++) { if (kluch[i] == alfavit[j]) cyfkluch[i] = j; } } for (i=0; i<=k; i++) avtocluch[i] = cyfkluch[i]; for (i=(k+1); i<=t; i++) avtocluch[i] = cyftext[i-(k+1)]; for (i=0; i<=t; i++) { cyfshyfr[i] = cyftext[i] + avtocluch[i]; if (cyfshyfr[i] > a) cyfshyfr[i] -= a; } printf("\n\n\t shyfrovanuy text \t"); for (i=0; i<=t; i++) printf("%c", alfavit[cyfshyfr[i]]); for (i=0; i<=k; i++) { cyfrozshyfr[i] = cyfshyfr[i] - cyfkluch[i]; if ( cyfrozshyfr[i] < 0) cyfrozshyfr[i] += a; } for (i=(k+1); i<=t; i++) { cyfrozshyfr[i] = cyfshyfr[i] - cyfrozshyfr[i-(k+1)]; if (cyfrozshyfr[i] < 0) cyfrozshyfr[i] += a; } printf("\n\n\t rozshyfrovanuy text \t"); for (i=0; i<=t; i++) printf("%c", alfavit[cyfrozshyfr[i]]); getch(); return; } Результат виконання програми  Блок-схема програми - + - + - + + Висновки: на даній лабораторній роботі я реалізувала класичний метод шифрування, а саме шифр з автоключем, перевагою такого шифру є простота реалізац...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини